package com.ahora.org.ejb.jpa.entities;

import java.io.Serializable;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;


@Entity
@Table(name="TB_APE_REC_PROCESO")
public class ApeRecProceso implements Serializable {
	
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "SEC_APE_REC_PROCESO")
	@SequenceGenerator(name="SEC_APE_REC_PROCESO", sequenceName = "SEC_APE_REC_PRO")
	@Column(name="ID_APE_REC_PRO")
	private int idApeRecPro;

    @Lob()
	@Column(name="DOCUMENTO_APELACION")
	private byte[] documentoApelacion;

    @Lob()
	@Column(name="DOCUMENTO_RECONSIDERACION")
	private byte[] documentoReconsideracion;

    //bi-directional many-to-one association to Proceso
    @ManyToOne
	@JoinColumn(name="ID_PROCESO")
	private Proceso tbProceso;

	@Column(name="NOM_ARC_APELACION")
	private String nomArcApelacion;

	@Column(name="NOM_ARC_RECONSIDERACION")
	private String nomArcReconsideracion;

	@Column(name="NUM_DIA_APE")
	private int numDiaApe;

	@Column(name="NUM_DIA_REC")
	private int numDiaRec;

	//bi-directional many-to-one association to ApelacionReconsideracion
	@OneToMany(mappedBy="tbApeRecProceso")
	private Set<ApelacionReconsideracion> tbApelacionReconsideracions;

	//bi-directional many-to-one association to Area
	//tbAreaByIdAreaApe
    @ManyToOne
	@JoinColumn(name="ID_AREA_APE")
	private Area tbAreaByIdAreaApe;

	//bi-directional many-to-one association to Area
    //tbAreaByIdAreaRec
    @ManyToOne
	@JoinColumn(name="ID_AREA_REC")
	private Area tbAreaByIdAreaRec;

    public ApeRecProceso() {
    }

	public int getIdApeRecPro() {
		return this.idApeRecPro;
	}

	public void setIdApeRecPro(int idApeRecPro) {
		this.idApeRecPro = idApeRecPro;
	}

	public byte[] getDocumentoApelacion() {
		return this.documentoApelacion;
	}

	public void setDocumentoApelacion(byte[] documentoApelacion) {
		this.documentoApelacion = documentoApelacion;
	}

	public byte[] getDocumentoReconsideracion() {
		return this.documentoReconsideracion;
	}

	public void setDocumentoReconsideracion(byte[] documentoReconsideracion) {
		this.documentoReconsideracion = documentoReconsideracion;
	}

	public String getNomArcApelacion() {
		return this.nomArcApelacion;
	}

	public void setNomArcApelacion(String nomArcApelacion) {
		this.nomArcApelacion = nomArcApelacion;
	}

	public String getNomArcReconsideracion() {
		return this.nomArcReconsideracion;
	}

	public void setNomArcReconsideracion(String nomArcReconsideracion) {
		this.nomArcReconsideracion = nomArcReconsideracion;
	}

	public int getNumDiaApe() {
		return this.numDiaApe;
	}

	public void setNumDiaApe(int numDiaApe) {
		this.numDiaApe = numDiaApe;
	}

	public int getNumDiaRec() {
		return this.numDiaRec;
	}

	public void setNumDiaRec(int numDiaRec) {
		this.numDiaRec = numDiaRec;
	}

	public Set<ApelacionReconsideracion> getTbApelacionReconsideracions() {
		return this.tbApelacionReconsideracions;
	}

	public void setTbApelacionReconsideracions(Set<ApelacionReconsideracion> tbApelacionReconsideracions) {
		this.tbApelacionReconsideracions = tbApelacionReconsideracions;
	}

	public Area getTbAreaByIdAreaApe() {
		return tbAreaByIdAreaApe;
	}

	public void setTbAreaByIdAreaApe(Area tbAreaByIdAreaApe) {
		this.tbAreaByIdAreaApe = tbAreaByIdAreaApe;
	}

	public Area getTbAreaByIdAreaRec() {
		return tbAreaByIdAreaRec;
	}

	public void setTbAreaByIdAreaRec(Area tbAreaByIdAreaRec) {
		this.tbAreaByIdAreaRec = tbAreaByIdAreaRec;
	}

	public Proceso getTbProceso() {
		return tbProceso;
	}

	public void setTbProceso(Proceso tbProceso) {
		this.tbProceso = tbProceso;
	}
	
	
	
}